package Colletion_Study.List_01;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class ListDemo2 {
    /*
        List系列集合独有的两种遍历方式：
            1.列表迭代器
            2.普通for循环
     */
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        //列表迭代器
        //ListIterator新增了在迭代时可以进行 增 删 改
        //可以反向迭代但是有局限性，因为指针创建时默认指向0，此时反向迭代就会报错
        ListIterator<String> it = list.listIterator();
//        it.hasPrevious()   it.previous()  用法与hasNext一样
        while (it.hasNext()) {
            String str = it.next();
            if ("bbb".equals(str)){
                //添加qqq
                //不能使用集合方式添加，使用迭代器的方式
                it.add("qqq");
            }
            System.out.println(str);
        }

        //普通for循环
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}
